* lisp/subr.el (set-transient-map): Don't wait for some "nested"
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 31 May 2014 20:02:47 +0000 (16:02 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 31 May 2014 20:02:47 +0000 (16:02 -0400)
transient-map to finish if we're only supposed to be active for
the next command.

lisp/ChangeLog
lisp/subr.el

index cde85c38f910d9c5928e86e7893c75406f21935f..c7d77fa827c85494e154d13542bc704317e097c1 100644 (file)
@@ -1,3 +1,9 @@
+2014-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * subr.el (set-transient-map): Don't wait for some "nested"
+       transient-map to finish if we're only supposed to be active for
+       the next command (bug#17642).
+
 2014-05-31  Leo Liu  <sdl.web@gmail.com>
 
        * emacs-lisp/gv.el (window-buffer, window-display-table)
index 4fba469868f88b0860db4703a470f00ef7e741a2..c8dcfc8df97e330e299db7ecffc3523725329e05 100644 (file)
@@ -4310,6 +4310,7 @@ lookup sequence then continues."
           (lambda ()
             (with-demoted-errors "set-transient-map PCH: %S"
               (unless (cond
+                       ((null keep-pred) nil)
                        ((not (eq map (cadr overriding-terminal-local-map)))
                         ;; There's presumably some other transient-map in
                         ;; effect.  Wait for that one to terminate before we
@@ -4322,7 +4323,6 @@ lookup sequence then continues."
                         ;; C-u and that 1 exits isearch whereas it doesn't
                         ;; exit C-u.
                         t)
-                       ((null keep-pred) nil)
                        ((eq t keep-pred)
                         (eq this-command
                             (lookup-key map (this-command-keys-vector))))